UpgradeJ: Incremental Typechecking for Class Upgrades (DRAFT)
نویسندگان
چکیده
One of the problems facing developers is the constant evolution of components that are used to build an application. This evolution is typical of any multi-person or multi-site software project. How can we program in this environment? More precisely, how can language design address such evolution? In this paper we attack two significant issues that arise from constant component evolution: we propose language-level extensions that permit multiple, co-existing versions of classes and the ability to dynamically upgrade from one version of a class to another, whilst still maintaining type safety guarantees and requiring only lightweight extensions to the runtime infrastructure. We show how our extensions, whilst intuitive, provide a great deal of power by giving a number of examples. Given the subtlety of the problem, we formalize a core fragment of our language and prove a number of important safety properties.
منابع مشابه
UpgradeJ: Incremental Typechecking for Class Upgrades
One of the problems facing developers is the constant evolution of components that are used to build applications. This evolution is typical of any multi-person or multi-site software project. How can we program in this environment? More precisely, how can language design address such evolution? In this paper we attack two significant issues that arise from constant component evolution: we prop...
متن کاملXML Typechecking
SYNONYMS None DEFINITION In general, typechecking refers to the problem where, given a program P , an input type σ, and an output type τ , one must decide whether P is type-safe, that is, whether it produces only outputs of type τ when run on inputs of type σ. In the XML context, typechecking problems mainly arise in two forms: • • XML-to-XML transformations, where P transforms XML documents co...
متن کاملUnraveling a puzzle: The case of Value Line timeliness rank upgrades *
We examine a sample of Value Line’s timeliness rank upgrades that occur immediately following earnings announcements and find that the pre-event price momentum has significant incremental explanatory power for the post-event drift, after controlling for the level of earnings surprise. Therefore, the drift following Value Line’s timeliness upgrades of the stocks that it covers cannot be construe...
متن کاملA Lightweight Approach to Customizable Composition Operators for Java-like Classes
We propose a formal framework for extending a class-based language, equipped with a given class composition mechanism, to allow programmers to define their own derived composition operators. These definitions can exploit the full expressive power of the underlying computational language. The extension is obtained by two simple steps. First, meta-expressions, that is, (expressions denoting) clas...
متن کاملStatically-Scoped Exceptions: a Typed Foundation for Aspect-Oriented Error Handling
Aspect-oriented programming systems such as AspectJ provide mechanisms for modularizing crosscutting error-handling concerns. However, AspectJ’s advice does not integrate well with Java’s checked exception mechanism. Furthermore, conventional exception-handling facilities such as AspectJ’s share the problem of accidental exception capture due to the dynamic nature of exception-handling semantic...
متن کامل